using System;
using System.Collections.Generic;
using System.Text;

namespace OpenComposite.Workflow
{
	public interface ITrackingActivity
	{
		void AddKPIData(string sKPIName, string sKPIValue, string sKPIUnit, string sKPIDataType);
		void AddBusinessObjectData(string sBOName, object sBOValue);
	}
	public class KPITrackingData
	{
		public KPITrackingData()
		{
			_name = "";
			_value = "";
			_unit = "";
			_datatype = "";
		}
		public KPITrackingData(string name, string value, string unit, string datatype)
		{
			_name = name;
			_value = value;
			_unit = unit;
			_datatype = datatype;
		}
		private string _name;
		public string Name
		{
			get { return _name; }
			set { _name = value; }
		}
		private string _value;
		public string Value
		{
			get { return _value; }
			set { _value = value; }
		}
		private string _unit;
		public string Unit
		{
			get { return _unit; }
			set { _unit = value; }
		}
		private string _datatype;
		public string DataType
		{
			get { return _datatype; }
			set { _datatype = value; }
		}

		public override string ToString()
		{
			return string.Format("{0} = {1}{2}", this.Name, this.Value, this.Unit);
		}
	}

	public class BusinessObjectTrackingData
	{
		public BusinessObjectTrackingData()
		{
			_name = "";
			_value = "";
		}

		public BusinessObjectTrackingData(string name, object value)
		{
			_name = name;
			_value = value;
		}	
		
		private string _name;
		public string Name
		{
			get { return _name; }
			set { _name = value; }
		}
		private object _value;
		public object Value
		{
			get { return _value; }
			set { _value = value; }
		}

	}
}
